Functions


Accessing Per-Task Storage Variables

MPAllocateTaskStorageIndex Returns an index number to access per-task storage.
MPDeallocateTaskStorageIndex Frees an index number used to access per-task storage
MPGetTaskStorageValue Gets the storage value stored at a specified index number.
MPSetTaskStorageValue Sets the storage value for a given index number.

Creating and Handling Message Queues

MPCreateQueue Creates a message queue.
MPDeleteQueue Deletes a message queue.
MPNotifyQueue Sends a message to the specified message queue.
MPSetQueueReserve Reserves space for messages on a specified message queue.
MPWaitOnQueue Obtains a message from a specified message queue.

Creating and Handling Semaphores

MPCreateSemaphore Creates a semaphore.
MPDeleteSemaphore Removes a semaphore.
MPSignalSemaphore Signals a semaphore.
MPWaitOnSemaphore Waits on a semaphore

Creating and Scheduling Tasks

MPCreateTask Creates a preemptive task.
MPCurrentTaskID Obtains the task ID of the currently-executing preemptive task
MPExit Allows a task to terminate itself
MPGetNextTaskID Obtains the next task ID in the list of available tasks.
MPSetTaskWeight Assigns a relative weight to a task, indicating how much processor time it should receive compared to other available tasks.
MPTaskIsPreemptive Determines whether a task is preemptively scheduled.
MPTerminateTask Terminates an existing task.
MPYield Allows a task to yield the processor to another task.

Debugger Support Functions

MPRegisterDebugger Registers a debugger.
MPUnregisterDebugger Unregisters a debugger.

Determining Processor Availability

MPGetNextCpuID Obtains the next CPU ID in the list of physical processors of the specified memory coherence group.
MPProcessors Returns the number of processors on the host computer.
MPProcessorsScheduled Returns the number of active processors available on the host computer.

Exception Handling Functions

MPDisposeTaskException Removes a task exception.
MPExtractTaskState Extracts state information from a suspended task.
MPSetExceptionHandler Sets an exception handler for a task.
MPSetTaskState Sets state information for a suspended task.
MPThrowException Throws an exception to a specified task.

Handling Critical Regions

MPCreateCriticalRegion Creates a critical region object.
MPDeleteCriticalRegion Removes the specified critical region object.
MPEnterCriticalRegion Attempts to enter a critical region.
MPExitCriticalRegion Exits a critical region.

Handling Event Groups

MPCreateEvent Creates an event group.
MPDeleteEvent Removes an event group.
MPSetEvent Merges event flags into a specified event group.
MPWaitForEvent Retrieves event flags from a specified event group.

Handling Kernel Notifications

MPCauseNotification Signals a kernel notification.
MPCreateNotification Creates a kernel notification
MPDeleteNotification Removes a kernel notification.
MPModifyNotification Adds a simple notification to a kernel notification.

Memory Allocation Functions

MPAllocateAligned Allocates a nonrelocatable memory block.
MPBlockClear Clears a block of memory.
MPBlockCopy Copies a block of memory.
MPDataToCode Designates the specified block of memory as executable code.
MPFree Frees memory allocated by MPAllocateAligned.
MPGetAllocatedBlockSize Returns the size of a memory block.

Remote Calling Function

MPRemoteCall Calls a nonreentrant function and blocks the current task.

Timer Services Functions

MPArmTimer Arms the timer to expire at a given time.
MPCancelTimer Cancels an armed timer.
MPCreateTimer Creates a timer.
MPDelayUntil Blocks the calling task until a specified time.
MPDeleteTimer Removes a timer.
MPSetTimerNotify Sets the notification information associated with a timer.

Miscellaneous

MPAllocate
MPPrintfHandler
MPRPC
MPTaskIsToolboxSafe
_MPAllocateSys
_MPDebugStr
_MPInitializePrintf
_MPIsFullyInitialized
_MPLibraryIsCompatible
_MPLibraryVersion
_MPPrintf
_MPRPC
_MPStatusCString
_MPStatusPString
_MPTaskIsToolboxSafe

© 2000 Apple Computer, Inc. — (Last Updated 4/6/2000)